Semantic mode provides a number of commands for navigating, querying, and editing source code in a language-aware manner. These commands generally act on tags, which are the source-code units deemed “important” by the present programming language (e.g. functions in the C programming language).
These commands may be used in any buffer that has been parsed by Semantic. Several of them prompt for a tag name using the minibuffer; here, the TAB key can be used to complete tag names. Others act on the current tag, meaning the tag at (or around) point.
semantic-complete-jump-local).semantic-complete-jump).semantic-analyze-possible-completions).semantic-symref-symbol). This relies on the
presence of an external symbol reference tool. See SymRef.semantic-symref). This relies on the presence of
an external symbol reference tool. See SymRef.senator-previous-tag).senator-next-tag).senator-go-to-up-reference). The meaning of
“up” is language-dependent; in C++, for instance,
this means moving to the parent of the current tag.semantic-complete-analyze-inline). This
also activates a special set of keybindings for choosing a
completion: <RET> accepts the current completion,
M-n and M-p cycle through possible
completions, <TAB> completes as far as possible and then
cycles, and C-g or any other key aborts the
completion. See Smart
Completion.senator-kill-tag). This
removes the text for that tag, placing it in the kill ring. You
can retrieve the text with C-y. This also places the
tag in the tag ring, so that you can yank it with
\C-c,\C-y, below.senator-copy-tag).senator-yank-tag).senator-copy-tag-to-register). With an optional
argument, kill it as well. This allows you to insert or jump to
that tag with the usual register commands. See Registers.senator-transpose-tags-up).senator-transpose-tags-down).